home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c-part1 / 6270 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  1.6 KB

  1. Path: antares.dfma.com!news
  2. From: johnb@dfma.com (John Breckenridge)
  3. Newsgroups: comp.lang.c
  4. Subject: Re: What's better & why
  5. Date: Fri, 23 Feb 1996 19:52:03 GMT
  6. Organization: Boothroyd Dewhurst, Inc.
  7. Message-ID: <4gkrhj$4dq@antares.dfma.com>
  8. References: <31297C5A.E6C@connix.com>
  9. NNTP-Posting-Host: johnb.dfma.com
  10. X-Newsreader: Forte Free Agent 1.0.82
  11.  
  12. Scott Hawley <shawley@connix.com> wrote:
  13. >I was just curious what you all though about the following code.
  14. >Please tell me what is better (faster/Smaller) and why. Or does it make 
  15. >any difference at all. I just though about this while I was programming 
  16. >today?
  17.  
  18. >example 1:
  19. >                val = 1;
  20. >                if( what ever...)val = 0;
  21.  
  22. >or
  23. >example 2:
  24. >                if( what ever... )val = 0;
  25. >                else val = 1;
  26.  
  27. >amy remarks?
  28. I'm not Amy, but I'll remark anyway. (-:
  29.  
  30. When whatever is True, example 1 performs 2 assignments on val.
  31. Example 2 will always perform only 1 assignment on val.
  32.  
  33. So the question boils down to whether the extra assignment is
  34. faster than the branch for the else.
  35.  
  36. Without looking at the generated assembly instructions and
  37. running with a stopwatch, I can't say which statement is 
  38. better (faster/smaller) with your compiler.  It is possible
  39. that a good optimizer would generate the same instructions for
  40. both.  The only way to find out is to try it and see.
  41.  
  42. From a style point of view, I find example 2 slightly more 
  43. readable.  
  44.  
  45. At any rate, I don't think you'd save anything by using:
  46.     val = (what ever...) ? 0 : 1;
  47.  
  48.  
  49.  
  50.  
  51. John Breckenridge                                Boothroyd Dewhurst, Inc.
  52. johnb@dfma.com                                   all opinions are my own
  53.  
  54.